package com.ccys.db.entity;

import com.ccys.db.rely.BaseEntity;
import com.fasterxml.jackson.annotation.JsonFormat;
import io.swagger.annotations.ApiModel;
import io.swagger.annotations.ApiModelProperty;
import java.math.BigDecimal;
import java.util.Date;
import javax.persistence.*;
import lombok.AllArgsConstructor;
import lombok.Data;
import lombok.NoArgsConstructor;
import org.springframework.format.annotation.DateTimeFormat;

/**
* Created by Mybatis Generator on 2023/12/15
*/
@Data
@ApiModel("Laboratory results 和Third party health screening")
@Table(name = "tbl_lab_result")
@NoArgsConstructor
@AllArgsConstructor
public class TblLabResult extends BaseEntity {
    /**
     * 0:三方上传 ;1:手动上传
     */
    @ApiModelProperty("0:三方上传 ;1:手动上传")
    private Integer type;

    @Column(name = "mem_id")
    private String memId;

    /**
     * 带后缀的文件名称
     */
    @Column(name = "result_pdf")
    private String resultPdf;

    /**
     * 文件全路径
     */
    @Column(name = "auto_lab_result_pdf")
    @ApiModelProperty("文件全路径 ")
    private String autoLabResultPdf;

    @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss")
    @DateTimeFormat(pattern = "yyyy-MM-dd HH:mm:ss")
    @Column(name = "result_uploaded_on")
    private Date resultUploadedOn;

    private String name;

    @Column(name = "ref_number")
    private String refNumber;

    @Column(name = "supplier_id")
    private String supplierId;
    @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss")
    @DateTimeFormat(pattern = "yyyy-MM-dd HH:mm:ss")
    @Column(name = "screening_time")
    private Date screeningTime;

    @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss")
    @DateTimeFormat(pattern = "yyyy-MM-dd HH:mm:ss")
    @Column(name = "report_time")
    private Date reportTime;

    @Column(name = "blood_pressure_top_value")
    private BigDecimal bloodPressureTopValue;

    @Column(name = "blood_pressure_bottom_value")
    private BigDecimal bloodPressureBottomValue;

    @Column(name = "heart_rate")
    private BigDecimal heartRate;

    private BigDecimal weight;

    private BigDecimal height;

    /**
     * 三方上传没有
     */
    @Column(name = "booking_id")
    @ApiModelProperty("三方上传没有")
    private String bookingId;

    /**
     * 存储的是plan_benefit_id,应该用不上了，保留
     */
    @Column(name = "profile_id")
    @ApiModelProperty("存储的是plan_benefit_id,应该用不上了，保留")
    private String profileId;

    /**
     * 三方上传时的状态值,Error;Unverified;Verified,其中Error和 Unverified 在 cms 可以被修改成Verified
     */
    @ApiModelProperty("三方上传时的状态值,Error;Unverified;Verified,其中Error和 Unverified 在 cms 可以被修改成Verified")
    private String status;
}